const { DataTypes } = require("sequelize");
const sequelize = require("../config/database");

// 生成随机用户名的函数
function generateRandomUsername() {
  // 生成6位随机字母数字组合
  const randomString = Math.random().toString(36).substring(2, 8);
  return `微信用户_${randomString}`;
}

const User = sequelize.define("User", {
  nickname: {
    type: DataTypes.STRING,
    allowNull: false,
    defaultValue: generateRandomUsername
  },
  gender: {
    type: DataTypes.ENUM("男", "女", "其他"),
    allowNull: true,
  },
  openid: {
    type: DataTypes.STRING,
    allowNull: false,
    unique: true,
  },
  avatar: {
    type: DataTypes.STRING,
    allowNull: true,
  },
  age: {
    type: DataTypes.INTEGER,
    allowNull: true,
  },
  phone: {
    type: DataTypes.STRING,
    allowNull: true,
  },
  warningNum: {
    type: DataTypes.INTEGER,
    allowNull: false,
    defaultValue: 20
  }
});


// (async () => {
//   try {
//     User.sync();
//     console.log("用户模型表刚刚(重新)创建！");
//   } catch (error) {
//     console.error('Database sync failed:', error);
//   }
// })();

module.exports = User;
